Skip to content

Conversation

@selenium-ci
Copy link
Member

@selenium-ci selenium-ci commented Oct 29, 2025

User description

This is an automated pull request to update pinned browsers and drivers

Merge after verify the new browser versions properly passing the tests and no bugs need to be filed


PR Type

Enhancement


Description

  • Update Firefox from 144.0 to 144.0.2 for Linux and macOS

  • Update Chrome from 141.0.7390.122 to 142.0.7444.59 for Linux and macOS

  • Update ChromeDriver from 141.0.7390.122 to 142.0.7444.59 for Linux and macOS

  • Update Chrome and ChromeDriver beta versions to 142.0.7444.59


Diagram Walkthrough

flowchart LR
  A["Firefox 144.0"] -->|"Update to 144.0.2"| B["Firefox 144.0.2"]
  C["Chrome 141.0.7390.122"] -->|"Update to 142.0.7444.59"| D["Chrome 142.0.7444.59"]
  E["ChromeDriver 141.0.7390.122"] -->|"Update to 142.0.7444.59"| F["ChromeDriver 142.0.7444.59"]
  G["Chrome Beta 142.0.7444.52"] -->|"Update to 142.0.7444.59"| H["Chrome Beta 142.0.7444.59"]
Loading

File Walkthrough

Relevant files
Configuration changes
repositories.bzl
Update browser and driver pinned versions                               

common/repositories.bzl

  • Updated Firefox URLs and SHA256 hashes from version 144.0 to 144.0.2
    for both Linux and macOS
  • Updated Chrome URLs and SHA256 hashes from version 141.0.7390.122 to
    142.0.7444.59 for Linux and macOS
  • Updated ChromeDriver URLs and SHA256 hashes from version
    141.0.7390.122 to 142.0.7444.59 for Linux and macOS
  • Updated Chrome and ChromeDriver beta versions from 142.0.7444.52 to
    142.0.7444.59 with corresponding SHA256 hash updates
+20/-20 

@selenium-ci selenium-ci added the B-build Includes scripting, bazel and CI integrations label Oct 29, 2025
@qodo-merge-pro
Copy link
Contributor

PR Compliance Guide 🔍

Below is a summary of compliance checks for this PR:

Security Compliance
🟢
No security concerns identified No security vulnerabilities detected by AI analysis. Human verification advised for critical code.
Ticket Compliance
🎫 No ticket provided
  • Create ticket/issue
Codebase Duplication Compliance
Codebase context is not defined

Follow the guide to enable codebase context checks.

Custom Compliance
🟢
Generic: Meaningful Naming and Self-Documenting Code

Objective: Ensure all identifiers clearly express their purpose and intent, making code
self-documenting

Status: Passed

Generic: Secure Error Handling

Objective: To prevent the leakage of sensitive system information through error messages while
providing sufficient detail for internal debugging.

Status: Passed

Generic: Secure Logging Practices

Objective: To ensure logs are useful for debugging and auditing without exposing sensitive
information like PII, PHI, or cardholder data.

Status: Passed

Generic: Comprehensive Audit Trails

Objective: To create a detailed and reliable record of critical system actions for security analysis
and compliance.

Status:
No audit logs: The added code updates pinned browser URLs and hashes without introducing or affecting any
critical action paths that would require audit logging, so no audit trail changes are
evident in this diff.

Referred Code
    http_archive(
        name = "linux_firefox",
        url = "https://ftp.mozilla.org/pub/firefox/releases/144.0.2/linux-x86_64/en-US/firefox-144.0.2.tar.xz",
        sha256 = "19cada8e7b6f4f00c450411578b4c241d2d50a0a566a1cbe8181fa950b6c0ad4",
        build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])

filegroup(
    name = "files",
    srcs = glob(["**/*"]),
)

exports_files(["firefox/firefox"])

js_library(
    name = "firefox-js",
    data = [":files"],
)
""",
    )


 ... (clipped 310 lines)
Generic: Robust Error Handling and Edge Case Management

Objective: Ensure comprehensive error handling that provides meaningful context and graceful
degradation

Status:
Missing error paths: The changes only update URLs and sha256 values in Bazel repository rules without adding
error handling for download/verification failures, which may be handled elsewhere by
Bazel.

Referred Code
    http_archive(
        name = "linux_firefox",
        url = "https://ftp.mozilla.org/pub/firefox/releases/144.0.2/linux-x86_64/en-US/firefox-144.0.2.tar.xz",
        sha256 = "19cada8e7b6f4f00c450411578b4c241d2d50a0a566a1cbe8181fa950b6c0ad4",
        build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])

filegroup(
    name = "files",
    srcs = glob(["**/*"]),
)

exports_files(["firefox/firefox"])

js_library(
    name = "firefox-js",
    data = [":files"],
)
""",
    )


 ... (clipped 310 lines)
Generic: Security-First Input Validation and Data Handling

Objective: Ensure all data inputs are validated, sanitized, and handled securely to prevent
vulnerabilities

Status:
External sources: The PR updates external download URLs and checksums; validation appears limited to
provided sha256 values, with trust and integrity of sources assumed and broader input
validation handled by Bazel.

Referred Code
    http_archive(
        name = "linux_firefox",
        url = "https://ftp.mozilla.org/pub/firefox/releases/144.0.2/linux-x86_64/en-US/firefox-144.0.2.tar.xz",
        sha256 = "19cada8e7b6f4f00c450411578b4c241d2d50a0a566a1cbe8181fa950b6c0ad4",
        build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])

filegroup(
    name = "files",
    srcs = glob(["**/*"]),
)

exports_files(["firefox/firefox"])

js_library(
    name = "firefox-js",
    data = [":files"],
)
""",
    )


 ... (clipped 310 lines)
Compliance status legend 🟢 - Fully Compliant
🟡 - Partial Compliant
🔴 - Not Compliant
⚪ - Requires Further Human Verification
🏷️ - Compliance label

@qodo-merge-pro
Copy link
Contributor

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
General
Avoid duplication by aliasing identical repositories

Refactor the code to avoid duplication by removing the linux_beta_chrome
repository and creating an alias to the identical linux_chrome repository in the
WORKSPACE file.

common/repositories.bzl [278-298]

-http_archive(
-    name = "linux_beta_chrome",
-    url = "https://storage.googleapis.com/chrome-for-testing-public/142.0.7444.59/linux64/chrome-linux64.zip",
-    sha256 = "342d848409c9500d581baae5e6b096c4dbacbf473105d80f0661c123f7de7e05",
-    build_file_content = """
-load("@aspect_rules_js//js:defs.bzl", "js_library")
-package(default_visibility = ["//visibility:public"])
+# This http_archive block should be removed.
+# An alias should be created in the WORKSPACE file instead:
+#
+# bind(
+#     name = "linux_beta_chrome",
+#     actual = "@linux_chrome//...",
+# )
 
-filegroup(
-    name = "files",
-    srcs = glob(["**/*"]),
-)
-
-exports_files(["chrome-linux64/chrome"])
-
-js_library(
-    name = "chrome-js",
-    data = [":files"],
-)
-""",
-)
-
  • Apply / Chat
Suggestion importance[1-10]: 6

__

Why: The suggestion correctly identifies that the PR introduces a duplicated repository definition and proposes a valid refactoring using a Bazel bind alias to improve maintainability.

Low
  • More

@navin772 navin772 merged commit 7df7a1c into trunk Oct 29, 2025
83 of 85 checks passed
@navin772 navin772 deleted the pinned-browser-updates branch October 29, 2025 05:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

B-build Includes scripting, bazel and CI integrations Review effort 2/5

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants